# 定义编译器和编译选项
CC = g++
CFLAGS = -Wall -Wextra -g  # 启用所有警告和调试信息

# 目标可执行文件
TARGET = app

# 自动获取当前目录下所有 .c 文件
SRCS = $(wildcard *.cpp)
# 生成对应的 .o 文件列表
OBJS = $(patsubst %.cpp, %.o, $(SRCS))

# 默认编译目标
all: $(TARGET)

# 生成可执行文件
$(TARGET): $(SRCS)
	$(CC) $(CFLAGS) -o $@ $^

# 清理生成的文件
clean:
	rm -f $(TARGET) *.o

# 运行程序（可选）
run: $(TARGET)
	./$(TARGET)

.PHONY: all clean run
